Test Hook ^^^^^ **Definition:** * Conditional logic within the SUT determines whether the "real" code or test-specific logic is run. **Code Example:** .. code-block:: ruby class ApplicationController < ActionController::Base unless Rails.env.test? before_filter :require_login end end **References:** .. admonition:: Quality attributes * :octicon:`file-code;1em` - Code Example * :octicon:`comment-discussion;1em` - Cause and Effect * :octicon:`graph;1em` - Frequency * :octicon:`sync;1em` - Refactoring * `Rails Testing Antipatterns `_ :octicon:`file-code;1em` :octicon:`sync;1em` * `xUnit test patterns: Refactoring test code `_ :octicon:`file-code;1em` :octicon:`comment-discussion;1em` :octicon:`sync;1em`